package com.bajiao.service.account;

import com.bajiao.vo.account.AccountAdmin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bajiao.entity.account.Account;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: 账户
 * @Author: FanJq
 * @Date:   2024-10-1005-11
 * @Version: V1.0
 */
public interface AccountService extends IService<Account> {

    /**
     * 通过用户id获取用户
     * @param userId
     * @return
     */
    Account queryByUserId(String userId);

    /**
     * @Description
     * 资金变动
     * @date 2024/12/12 10:11
     * @author FanJq
     * @param changeMoney 变化金额
     * @param billType 1:收入 2：支出
     * @param orderNo 订单编号
     * @param title 标题
     * @param type 流水类型 1:充值 2:购买优惠券 3:购买商品 4:优惠券退款 5:商品退款 6:注册赠送 7:邀请奖励 99:平台赠送
     * @return
     */
    void changeMoney(String userId, BigDecimal changeMoney, Integer billType, String orderNo, String title, int type);

    /**
     * @Description
     * 管理后台账户列表
     * @date 2025/1/2 14:12
     * @author FanJq
     * @param keywords
     * @return {@link List< AccountAdmin>}
    */
    List<AccountAdmin> getAdminList(String keywords);

    /**
     * @Description
     * 更新用户账户余额
     * @date 2025/1/2 14:18
     * @author FanJq
     * @param id
     * @param money
     * @return
    */
    void modifyMoney(String id, BigDecimal money);
}
